*Abrir dataset
import excel "C:\Users\admin\Desktop\FINAL\FINAL.xlsx", sheet("Final") firstrow
*Estimar regressão linear múltipla:
reg FOL FUN PRO 
*Fazer estatística descritiva
sum FOL FUN PRO
*Fazer box-splot
graph hbox FOL 
graph hbox FUN  
graph hbox PRO 
*Fazer gráfico de dispersão
scatter FOL FUN  
scatter FOL PRO
*Analisar resíduos
rvfplot, yline(0)
*Distancia de Leverage
predict leverage2, leverage
lvr2plot, mlabel(FOL FUN PRO)
lvr2plot, mlabel(FOL)
lvr2plot, mlabel(FUN)
lvr2plot, mlabel(PRO)
*Somente se ocorrer Outlier
*Winsorizar a variável antes de estimar o modelo
*Instalar o modulo winsor se necessario
ssc install winsor
*Winsorizar modificando 2% das observações em cada cauda - se for o caso 
winsor FOL, gen(FOLw) p(0.02)  
winsor FUN, gen(FUNw) p(0.02) 
winsor PRO, gen(PROw) p(0.02)
*Processar correlação entre todas variáveis
pwcorr FOL FUN PRO, star(0.05)
*Estimar regressão linear múltipla:
reg FOL FUN PRO 
*Verificar a inexistência de multicolinearidade das variáveis explicativas. VIF menor que 10
*Calcular VIF
vif
*Estimar regressão linear múltipla:
reg FOL FUN PRO 
*Processar teste RESET - Detectar existência de problemas de especificação pela omissão de variáveis.
ovtest
*Processar teste de Heterocedasticidade
hettest
*Estimar regressão  pelo estimador robusto de White - se for o caso
reg FOL FUN PRO, rob
*Salvar os erros de estimação
predict residuals, residuals
*Processar teste de normalidade
sfrancia residuals 
*Processar Linkrtest
linktest 



*Scripts não usados
mfx, at(Populacao_Estudantes=16)
*Estimar CIF com base em HM = 3.400 e LP = 95
mfx, at(HM=3400 LP=95)
*Criar a variavel yhat com valores previstos de y 
predict yhat
*Estimar Regressão sem constante
reg Porcentagem_Auditada Renda_Bruta_Ajustada, noconstant
*Estimar regressão linear com level  
reg FOL FUN PRO, level(90)
*alcular coeficiente padronizado 
reg, beta 
*Padronizar variavel
egen zsalary = std(salary)
*Estimar regressão linear múltipla exluindo a observação 
reg FOL FUN PRO if FOL FUN PRO !="X"
*Regressao stepwise para retirar amostras com significancia menor que 5%
 stepwise, pr(0.05): reg PROD EXP POP
 *stepwise forward
stepwise, pr(0.10) pe(0.05) forward: reg NPB IRD IGC IED AFD HAD APT NSE
predict cooksd, cooksd 
*Conferindo a distribuição da variável dummy em suas gategorias
tab Garantia _IGarantia_2
tab Covid _ICovid_2
*Conhecendo as caracteristicas das variaveis a fim de reduzir observações extremas
tabstat EquipeDireção EquipeLaboratório EquipePatio EquipeExterna EquipeBomba, statistics( skewness kurtosis var mean )


logit atrasado dist sem _Iper_1 _Iperfil_2 _Iperfil_3, level(95)

*A Variável Garantia é uma variável "qualitativa" e será necessário criar a variável dummy (com garantia = 0; sem garantia=1)
xi i.Garantia i.Covid

*logaritimização da variavel dependente

gen InValorFaturado=ln( ValorFaturado)

*testando a normalidade dos dados
sfrancia InValorFaturado _ICovid_2 _IGarantia_2 EquipeDireção EquipeLaboratório EquipePatio EquipeExterna EquipeBomba

* Detalhamento das variaveis após ajustes
describe
tabstat InValorFaturado EquipeDireção EquipeLaboratório EquipePatio EquipeExterna EquipeBomba , statistics( skewness kurtosis var mean )

*Gerar um gráfico que mostra as inter-relaçoes entre as variáveis quantitativas
graph matrix InValorFaturado EquipeDireção EquipeLaboratório EquipePatio EquipeExterna EquipeBomba

* Criar a variável com os valores dos residuos
predict Resíduos, res

* Gerar um gráfico que permite visualizar a distribuição dos termos de erros gerados com a variável Resíduos
kdensity Resíduos, normal
graph box Resíduos
sfrancia Resíduos
*Ao constatar a presença de outlier, fazer a winsorização

*Rodar novamente a regressão
stepwise, pr(0.05): reg InValorFaturadoW  _IGarantia_2 EquipeDireção EquipeLaboratório EquipePatio EquipeExterna EquipeBomba _ICovid_2

*Criar a variavel Residuos após a winsorização
predict ResíduosW, res
kdensity ResíduosW, normal
graph box ResíduosW

lvr2plot, mlabel ( MêsAnoQuinzena )

*1º Pressuposto - Verificar a normalidade dos Resíduos com o teste de normalidade Shapiro-Francia (para amostra com mais de 30 observações)
sfrancia ResíduosW

predict cooksd, cooksd
*3º Pressuposto - Verificar ausência de heterocedasticidade
*A principio pode usar o gráfico, para visualizar a possivel presença de heterocedasticidade. 
rvfplot, yline(0)